<template>
  <div>
    <charts :option="option"></charts>
  </div>
</template>

<script>
import charts from './charts.vue';
import {mapState} from "vuex"
export default {
  components: { charts },
  name: "ChartLeftBar",
  data() {
    return {
      option:{},
      allData: [], // 服务器获取的所有数据
    };
  },
  watch:{
    LeftBar: {
      deep: true,
      handler(a,b) {
        this.updateChart();
      },
    },
    },
   computed:{
     ...mapState({LeftBar:"LeftBar"}),
    
  },
  mounted() {
    this.updateChart();
  },

  methods: {
    
    // async getData() {
    //  await this.$http.get("charts/bar/getLeft").then((res)=>{
    //     // this.allData = res.data.data.list;
    //     // console.log(this.allData+"222222222");
    //     // // console.log(res);
    //     // this.updateChart();
    //   }); 
    // },
    updateChart() {
       // 处理数据并且更新界面图表  
       const Xdata = this.LeftBar.map((item) => {        return item.name      })    
       const Sdata = this.LeftBar.map((item) => {        return item.value      }) 
      const  option = {
        color: ["#2f89cf"],
        tooltip: {
          trigger: "axis",
          axisPointer: {
            // 坐标轴指示器，坐标轴触发有效
            type: "shadow", // 默认为直线，可选为：'line' | 'shadow'
          },
        },
        // 修改图表的大小
        grid: {
          left: "0%",
          top: "10px",
          right: "0%",
          bottom: "4%",
          containLabel: true,
        },
        xAxis: [
          {
            type: "category",
            data: Xdata,
            axisTick: {
              alignWithLabel: true,
            },
            // 修改刻度标签 相关样式
            axisLabel: {
              color: "rgba(255,255,255,.6) ",
              fontSize: "12",
            },
            // 不显示x坐标轴的样式
            axisLine: {
              show: false,
            },
          },
        ],
        yAxis: [
          {
            type: "value",
            // 修改刻度标签 相关样式
            axisLabel: {
              color: "rgba(255,255,255,.6) ",
              fontSize: 12,
            },
            // y轴的线条改为了 2像素
            axisLine: {
              lineStyle: {
                color: "rgba(255,255,255,.1)",
                width: 2,
              },
            },
            // y轴分割线的颜色
            splitLine: {
              lineStyle: {
                color: "rgba(255,255,255,.1)",
              },
            },
          },
        ],
        series: [
          {
            name: "直接访问",
            type: "bar",
            barWidth: "35%",
            data: Sdata,
            itemStyle: {
              // 修改柱子圆角
              barBorderRadius: 5,
            },
          },
        ],
      };
    this.option=option;
    },
  },
};
</script>

<style lang="less" scoped>
</style>